package com.dys.testio02;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/**
 * @className: com.dys.testio02.FileReaderTest
 * @description: com.dys.testio02
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/13 下午11:35
 */
public class FileReaderTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws IOException {
        // 磁盘-->程序
        // 1.有一个文件-->创建一个File类的对象
        File f1 = new File("E:/test1.txt");
        // 2.利用FileReader这个流，这个“管”怼到源文件上去   ---》创建一个FileReader的流的对象
        FileReader fr = new FileReader(f1);
        // 3.进行操作“吸”的动作  ---》读取动作
        // 下面的代码我们验证了：如果到了文件的结尾处，那么读取的内容为-1
        /*
        int n = fr.read();
        int n2 = fr.read();
        int n3 = fr.read();
        int n4 = fr.read();
        int n5 = fr.read();
        int n6 = fr.read();
        System.out.println(n);
        System.out.println(n2);
        System.out.println(n3);
        System.out.println(n4);
        System.out.println(n5);
        System.out.println(n6);
        */
        // 方式1
        // int n = fr.read();
        // while (n != -1){
        //     System.out.print((char)n);
        //     n = fr.read();
        // }

        // 方式2
        int n;
        while ((n = fr.read()) != -1) {
            System.out.print((char) n);
        }
        // 4.“管”不用了，就要关闭  ---》关闭流
        // 流，数据库，网络资源，靠jvm本身没有办法帮我们关闭，此时必须程序员手动关闭：
        fr.close();
    }
}
